package visualizer.client.utils;

/**
 * User: DDovzhenko
 * Date: 29.12.13
 * Time: 11:29
 */
public enum AlgorithmType {
    BST_ADDING("Бинарное дерево поиска: Алгоритм добавления", "Добавить", true),
    BST_REMOVING("Бинарное дерево поиска: Алгоритм удаления", "Удалить", true),
    BST_SEARCHING("Бинарное дерево поиска: Алгоритм поиска", "Найти", true),
    BALANCE_WITH_VINE("Балансировка дерева: Алгоритм DSW", "Начать", false),
    RANDOMIZE_BST_ADDING("Рандомизированное дерево: Алгоритм добавления", "Добавить", true),
    RANDOMIZE_BST_REMOVING("Рандомизированное дерево: Алгоритм удаления", "Удалить", true),
    RANDOMIZE_BST_SEARCHING("Рандомизированное дерево: Алгоритм поиска", "Найти", true),
    SPLAY_BST_ADDING("Скошенное дерево: Алгоритм добавления", "Добавить", true),
    SPLAY_BST_REMOVING("Скошенное дерево: Алгоритм удаления", "Удалить", true),
    SPLAY_BST_SEARCHING("Скошенное дерево: Алгоритм поиска", "Найти", true),
    RED_BLACK_BST_ADDING("Красно-черное дерево: Алгоритм добавления", "Добавить", true),
    RED_BLACK_BST_REMOVING("Красно-черное дерево: Алгоритм удаления", "Удалить", true),
    RED_BLACK_BST_SEARCHING("Красно-черное дерево: Алгоритм поиска", "Найти", true);

    private String description;
    private String beginButtonText;
    private boolean inputFieldVisible;

    AlgorithmType(String description, String beginButtonText, boolean inputFieldVisible) {
        this.description = description;
        this.beginButtonText = beginButtonText;
        this.inputFieldVisible = inputFieldVisible;
    }

    public String getDescription() {
        return description;
    }

    public String getBeginButtonText() {
        return beginButtonText;
    }

    public boolean isInputFieldVisible() {
        return inputFieldVisible;
    }
}
